package com.study.d2_cookie;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * 会话技术
 * 会话：用户打开浏览器，访问web服务器的资源，会话建立，直到有一方断开连接，会话结束。在一次会话中可以包含多次请求和响应。
 * 会话跟踪：一种维护浏览器状态的方法，服务器需要识别多次请求是否来自于同一浏览器，以便在同一次会话的多次请求间共享数据
 * 客户端会话跟踪技术：Cookie：
 * 请求（Cookie：name=value）
 * 响应（Set-Cookie：name=value）
 * 优点：HTTP协议中支持的技术
 * 缺点：移动端APP无法使用Cookie
 * 不安全，用户可以自己禁用Cookie
 * Cookie不能跨域  （跨域区分三个维度：协议、IP/域名、端口）
 * 服务端会话跟踪技术：Session
 * 令牌技术
 */
@WebServlet("/c1")
public class CookieResp extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.addCookie(new Cookie("username", "study"));
/*        resp.setHeader("itheima","javastudy");
        //设置响应编码和响应数据类型
        resp.setHeader("content-type","text/html;charset=utf-8");
        resp.getWriter().write("success");*/
    }
}
